home *** CD-ROM | disk | FTP | other *** search
/ Power Tools 1993 October - Disc 1 / Power Tools (Disc 1)(October 1993)(HP).iso / spec / a3821171 / a3821171.txt < prev    next >
Text File  |  1992-05-16  |  14KB  |  324 lines

  1. 4
  2.  
  3.  
  4.  
  5.  
  6.  
  7.      Network Computing System 1.5.1 (NCS) Technical Data
  8.      Product Numbers B1020A, B1022A, B2674A, LA400BAD and LA400BBD
  9.      The Network Computing System (NCS) is a set of distributed computing
  10.      products that provides true intervendor computing in heterogeneous
  11.      environments. NCS makes it easy to develop and run applications that use
  12.      computing resources throughout a network. Individual program modules
  13.      within an application can be distributed to
  14.      
  15.      [Figure 1 (Network Computing System 1.5.1)  Caption: none]
  16.      
  17.      computers best suited for the task. Modules that can run in parallel are
  18.      easily distributed to multiple computers at once, creating, in effect, a
  19.      network supercomputer. The result is higher performance for workstation
  20.      users and better utilization of computing resources throughout the
  21.      network.
  22.         NCS was accepted by the Open Software Foundation (OSF) as their
  23.      remote procedure call (RPC) mechanism. NCS will be incorporated into the
  24.      Distributed Computing Environment (DCE) and will be shipped as the
  25.      DCE/RPC.
  26.         The NCS product comprises two major pieces:  the Network Computing
  27.      Kernel (NCK), which provides run-time support, and the Network Interface
  28.      Definition Language (NIDL) compiler, which is a tool for application
  29.      developers.
  30.         NCS is a truly open system written in portable C code, fully
  31.      documented, and based on industry-standard protocols. To ensure network
  32.      independence, NCS uses the low-level datagram services available on most
  33.      networking protocols, including UDP/IP and the Apollo DDS (Domain
  34.      Distributed Services).
  35.         With NCS, corporations will be able to use their many different CPUs
  36.      much more efficiently.
  37.      
  38.      [Figure 2 (NCS Compiler)  Caption: none]
  39.      
  40.      End users will be able to take advantage of high-powered specialty
  41.      servers, and applications developers will be able to write distributed
  42.      programs that fully exploit the network's resources.
  43.      
  44.      Features and Benefits
  45.      Open system:  NCS is an open extensible system, designed to run on
  46.      multiple CPUs, operating systems, and networks. Documentation for the
  47.      underlying Network Computing Architecture is available to the public.
  48.      
  49.      High-level interface language:  NCS lets programmers specify remote
  50.      computing requirements in a high-level Network Interface Definition
  51.      Language (NIDL), which supports C-style syntax.
  52.      
  53.      Interface software generated automatically:  A compiler converts NIDL
  54.      interface descriptions into C-source code (as well as C-include files),
  55.      which can be compiled on any system.
  56.      
  57.      Network Resources cataloged dynamically:  System software automatically
  58.      finds the computers required to run particular features.
  59.      
  60.  
  61. 5
  62.  
  63.  
  64.  
  65.  
  66.  
  67.      Integrated remote procedure call:  This facility lets programs running
  68.      locally call procedures implemented on remote hosts. The RPC facility is
  69.      independent of network protocol.
  70.      
  71.      Automatic data conversion:  Data representations, such as byte order or
  72.      floating point representations, are converted automatically when
  73.      required. Similar systems need not convert to and from an intermediate
  74.      data representation.
  75.      
  76.      Integrated error checking:  NCS provides integrated error checking and
  77.      does not rely on the usually slow higher levels of network protocols.
  78.      Reliable network computing can be provided over any type of transport.
  79.      
  80.      Low overhead:  The run-time system minimizes the number of messages per
  81.      RPC call, providing high throughput.
  82.      
  83.      Simplifies use of specialized processors:  NCS products are designed to
  84.      use the low-level hardware interfaces common to most specialized
  85.      processors.
  86.      
  87.      Simplifies software development:  With NCS tools, distributed
  88.      applications are developed using structured programming techniques.
  89.      Current applications can be easily modified for network computing.
  90.      
  91.      Object oriented:  Procedures are handled as operations on objects rather
  92.      than calls to particular machines or processes. This makes it easy to
  93.      separate what is being done from where it is being done, a crucial
  94.      distinction in a networked environment.
  95.      
  96.      Making Remote Procedure Calls Practical
  97.      The underlying foundation of NCS is an advanced approach for building
  98.      distributed applications, the Network Computing Architecture (NCA). The
  99.      purpose of NCA is to serve as a building block for distributed
  100.      applications. The NCA Remote Procedure Call (NCA/RPC) facility extends
  101.      the procedure call mechanism from a single-machine implementa-tion to a
  102.      distributed computing environment. The RPC concept is simple:  make
  103.      individual procedures in an application run on a computer somewhere else
  104.      in the network. In practice though, using RPCs without any special tools
  105.      can be more work than many developers are willing to devote to the task.
  106.      A set of procedures must be created that looks like the original
  107.      procedures. This stand-in is called a stub. Likewise, another stub must
  108.      be made for the server, and this one must stand in for the application.
  109.      The Network Computing System includes a compiler that generates client
  110.      and server stubs automatically, greatly reducing development effort.
  111.      
  112.      Two Components Work Together
  113.      The Network Computing System contains two major components that work
  114.      together to provide an advanced environment for distributed computing
  115.      applications. Network Computing Kernel (NCK), the RPC run-time, handles
  116.      packaging, transmission, and reception of data between host and client
  117.      procedures. Included with NCK is the Location Broker that determines at
  118.      run-time which hosts are running the requested services. It eliminates
  119.      the need for location-specific information within applications.
  120.  
  121. 6
  122.  
  123.  
  124.  
  125.  
  126.  
  127.         Network Interface Definition Language (NIDL) compiler creates
  128.      C-language source code for host and client RPC stubs. It shields the
  129.      application developer from the details of the target system.
  130.      
  131.      RPC Run-Time Environment
  132.      The NCS RPC is designed for vendor and protocol indepen-dence. The
  133.      source code for the RPC run-time environment is written in C. It uses
  134.      the Berkeley UNIX(r) socket approach for interprocess communications,
  135.      but extends the socket abstraction through a user-mode subroutine
  136.      library that the RPC run-time accesses. This library allows the system
  137.      to compensate for different network protocols and various operating
  138.      systems.
  139.      
  140.      Flexible Error Handling
  141.      The RPC environment includes sophisticated error-handling capabilities.
  142.      It is robust in the face of lost, duplicated, and long-delayed messages
  143.      arriving out of order, and in server crashes. The run-time can ensure
  144.      that no call is ever executed more than once. Because the error handling
  145.      is built into the RPC run-time, that application can call for only as
  146.      much error correction as is needed. For example, if a subroutine can be
  147.      executed more than once without side effects, the overhead to guard
  148.      against this can be eliminated.
  149.      
  150.      Protocol Independence
  151.      Great care has been taken to ensure the Network Computing System is
  152.      truly independent of network protocols. Since error handling is part of
  153.      the RPC run-time, it need not be part of the network protocol used.
  154.      Therefore the RPC can be based on any connection, network, or protocol
  155.      that provides point-to-point datagram services. As an example, NCS
  156.      provides support for the UDP datagram service in the DARPA IP protocol
  157.      family as well as support for the Apollo DDS datagram. Support for other
  158.      services will be added in the future.
  159.      
  160.      Location Broker Finds Services Automatically
  161.      To be truly practical, distributed applications should not have
  162.      information about the execution environment hard-coded in the
  163.      application itself. For example, if an array processor is added to a
  164.      network, applications needing array processing should not need
  165.      modification to use the new machine. This task of matching available
  166.      services to workstation clients is done through the location broker.
  167.      Servers register their capabilities with the location broker, and
  168.      clients query the location broker at run-time to determine which hosts
  169.      to use for the particular remote procedure calls.
  170.      
  171.      An Object-oriented Approach.
  172.      The location broker uses an object-oriented approach to network
  173.      computing. RPC calls are treated as operations on objects, not calls to
  174.      particular machines or server processes. By approaching the problem from
  175.      the standpoint of what to do rather that where to do it, applications
  176.      can function in a constantly changing environment.
  177.      
  178.      NIDL Compiler
  179.      The Network Interface Definition Language compiler automatically
  180.      generates the stub procedures that stand in for the remote procedure on
  181.  
  182. 7
  183.  
  184.  
  185.  
  186.  
  187.  
  188.      the client side and for the caller's procedure on the server side. The
  189.      syntax for these routines is described by the applications programmer in
  190.      an interface specification, written in the Network Interface Definition
  191.      Language. The interface specification includes information about all the
  192.      procedures that can be called remotely and the numbers and types of
  193.      their arguments.
  194.      
  195.      [Figure 3 (Network Interface Definition Language)  Caption: none]
  196.      
  197.      Since the stub procedures must run on a variety of machines, the NIDL
  198.      compiler generates C source code, which is then compiled on the target
  199.      machine. Source for the client and the server is generated
  200.      automatically, as are the C include files. Stub procedures may interface
  201.      with procedures written in C, Pascal, FORTRAN, and many other computer
  202.      languages.
  203.         The stub procedures generated by the NIDL compiler greatly simplify
  204.      use of remote procedure calls. Callers do not need to involve themselves
  205.      with the details of data packaging and data representation. Remote
  206.      procedures execute just like local ones.
  207.      
  208.      Supports Two Types of Binding:  The NIDL compiler supports two types of
  209.      binding: explicit binding and implicit binding. Explicit binding means
  210.      that the NIDL specification states exactly which host to use, and this
  211.      host is always used when the application is run. In implicit binding,
  212.      the client establishes the binding as a variable before making any
  213.      remote procedure calls. Thus, the application can query the location
  214.      broker at run-time and establish the binding between the local and
  215.      remote routines.
  216.      
  217.      Portable Software
  218.      NCS is available today for HP, Alliant, Convex, Cray, DEC (VMS and
  219.      Ultrix), IBM, Multiflow, Prime, Pyramid, Stellar, and Sun Microsystems.
  220.      HP intends to continue to promote the architecture as an open, industry
  221.      de facto standard.
  222.      NCS Version 2 is available for DOMAIN/OS and OSF/1 TR systems.
  223.      
  224.      Configuration and Prerequisites
  225.      For HP 9000:
  226.      o HP 9000 Series 300,400,600,700,800
  227.        - Minimum 8 Megabytes memory
  228.        - LAN/9000 Link
  229.        - HP-UX Version 8.0 or later
  230.      o For Domain:
  231.        - Domain workstation
  232.        - Domain/OS SR10.1 or later
  233.      o Note:  NCS/NCK is included with HP-UX Version 8.0 and later.
  234.      
  235.      Ordering Information
  236.      B1020A NCS/NIDC 1.5.1 Series 300 and 400
  237.      
  238.      B1020A Options
  239.      AAO   1/4-inch tape
  240.      OB1   Documentation
  241.      AAU   CDROM certificate (for software)
  242.  
  243. 8
  244.  
  245.  
  246.  
  247.  
  248.  
  249.      
  250.      B1022A NCS/NIDC 1.5.1 Series 600 and 800
  251.      
  252.      B1022A Options
  253.      AAO   1/4-inch tape
  254.      AA1   1/2-inch tape
  255.      AAH   DAT tape
  256.      OB1   Documentation
  257.       AHO -> AH1 license to use
  258.      
  259.      B2674A NCS/NIDC 1.5.1 Series 700
  260.      
  261.      B2674A Options
  262.      AAU   CDROM certificate
  263.      AAH   DAT tape
  264.      OBJ   Documentation
  265.      
  266.      LA400BAD NCS/NIDL 2.0 Domain/OS Motorola
  267.      LA400BBD NCS/NIDL 2.0 Domain/OS (Prism)
  268.      LA38C00C NCS/NCK 1.5.1 source license
  269.      LA40CC0C NCS/NIDL 1.5.1 source license
  270.      B2685A NCS 2.0 source license
  271.      
  272.      NCS Procedure Calls
  273.      Client Calls
  274.      rpc_$bind
  275.        - Allocate a handle and create an association between the client and
  276.          the object's location.
  277.      rpc_$free_handle
  278.        - Release the handle and eliminate the client-object association.
  279.      lb_$lookup-interface
  280.        - Find the network addresses of all the objects that support a
  281.          particular interface.
  282.      lb_$lookup_object
  283.        - Find the network addresses of all the instances of a particular
  284.          object.
  285.      lb_$lookup-type
  286.        - Find the network addresses of all the objects of a particular type.
  287.      
  288.      Server Calls
  289.      rpc_$use_family
  290.        - Add a network protocol family to the list of protocols used by this
  291.          server to accept RPC calls.
  292.      rpc_$register
  293.        - Register an interface with the RPC run-time library.
  294.      rpc_$listen
  295.        - Listen for RPC calls from clients.
  296.      lb_$register
  297.        - Register an object as an interface with the location broker so that
  298.          clients in the network can make RPC calls on that interface.
  299.      lb_$unregister
  300.        - Unregister an object and an interface.
  301.      
  302.      Documentation
  303.  
  304. 9
  305.  
  306.  
  307.  
  308.  
  309.  
  310.      o Network Computing Architecture P/N D-1201B
  311.      o Network Computing System Reference Manual P/N D-10200-C
  312.      o Network Computing System Tutorial P/N D-18355-C
  313.      o Managing NCS Software P/N 11895-E
  314.      
  315.      UNIX(r) is a registered trademark of UNIX System Laboratories Inc. in
  316.      the U.S.A. and other countries.
  317.      
  318.      From HP Networking Communications Specification Guide,
  319.         5091-3821E, 9205, p 171
  320.      Associated files:  la3821g1.plt, la3821g1.gal, la3821g2.plt,
  321.      la3821g2.gal, la3821g4.plt, la3821g4.gal, a3821171.doc
  322.      Network Computing System 1.5.1 (NCS) Technical Data
  323.      
  324.